// A macro to generate the standard enum functions
#define StdEnumTricks(eEnumType)\
inline void operator++(eEnumType& eVal)\
{\
 eVal = eEnumType(eVal+1);\
 }\
inline void operator++(eEnumType& eVal, int)\
{\
    eVal = eEnumType(eVal+1);\
}\
\
inline void operator--(eEnumType& eVal)\
{\
    eVal = eEnumType(eVal-1);\
}\
\
inline eEnumType eEnumMax(eEnumType)\
{\
    return eEnumType##_MAX;\
}\
\
inline eEnumType eEnumMin(eEnumType)\
{\
    return eEnumType##_MIN;\
}\
\
inline int eEnumCnt(eEnumType)\
{\
	return eEnumType##_MAX;\
}
